package com.canaan.business.service.storehouse;

import com.canaan.business.domain.basic.WmsStorehouseLocation;
import com.canaan.business.domain.storehouse.WmsStorehouseStock;
import com.canaan.business.domain.vo.OutStockQueryVo;
import com.canaan.business.domain.vo.OutStockResultVo;
import com.canaan.business.domain.vo.WmsStorehouseStockVo;

import java.util.List;

public interface IStorehouseStockStrategyService {
    /**
     * 按行列从小到大查询成品库空库位
     * @return
     */
    WmsStorehouseStockVo selectEmptyLocationByMinRowMinColumn();

    /**
     * 查询备料区的空库位
     * @return
     */
    List<WmsStorehouseStockVo> selectPreStorageEmpWmsStorehouseStockListMinRowMinColumn();

    /**
     * 指定库位旁边空库位
     * @param location 指定库位
     * @return
     */
    WmsStorehouseStockVo selectNearByEmptyLocation(WmsStorehouseLocation location);

    /**
     * 查询指定物料和数量库存
     * @param outStockQueryVo 查询条件
     * @return 库存结果
     */
    OutStockResultVo selectAllOutStock(OutStockQueryVo outStockQueryVo);
}
